/* 使用系统字体，移除远程字体依赖 */

/* Mantine样式已移除，减少打包体积 */

@tailwind base;
@tailwind components;
@tailwind utilities;

/* PWA 安全区域适配 */
@supports (padding-top: env(safe-area-inset-top)) {
  :root {
    --safe-area-inset-top: env(safe-area-inset-top);
    --safe-area-inset-right: env(safe-area-inset-right);
    --safe-area-inset-bottom: env(safe-area-inset-bottom);
    --safe-area-inset-left: env(safe-area-inset-left);
  }
}

/* 安全区域工具类 */
.h-safe-top {
  height: env(safe-area-inset-top);
}

.pt-safe {
  padding-top: env(safe-area-inset-top);
}

.pb-safe {
  padding-bottom: env(safe-area-inset-bottom);
}

.pl-safe {
  padding-left: env(safe-area-inset-left);
}

.pr-safe {
  padding-right: env(safe-area-inset-right);
}

/* 组合安全区类 */
.pt-safe-16 {
  padding-top: calc(env(safe-area-inset-top) + 4rem);
}

.pt-safe-24 {
  padding-top: calc(env(safe-area-inset-top) + 6rem);
}

.pt-safe-32 {
  padding-top: calc(env(safe-area-inset-top) + 8rem);
}

/* 简单的渐入动画替代复杂的motion动画 */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}


@layer base {
  /* CSS自定义属性 - 支持暗色主题 */
  :root {
    --background: 0 0% 100%;
    --foreground: 0 0% 3.9%;
    --card: 0 0% 100%;
    --card-foreground: 0 0% 3.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 0 0% 3.9%;
    --primary: 0 0% 9%;
    --primary-foreground: 0 0% 98%;
    --secondary: 0 0% 96.1%;
    --secondary-foreground: 0 0% 9%;
    --muted: 0 0% 96.1%;
    --muted-foreground: 0 0% 45.1%;
    --accent: 0 0% 96.1%;
    --accent-foreground: 0 0% 9%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: 0 0% 89.8%;
    --input: 0 0% 89.8%;
    --ring: 0 0% 3.9%;
    --radius: 0.5rem;
    --chart-1: 12 76% 61%;
    --chart-2: 173 58% 39%;
    --chart-3: 197 37% 24%;
    --chart-4: 43 74% 66%;
    --chart-5: 27 87% 67%;
  }

  .dark {
    --background: 0 0% 3.9%; /* 深色石板背景 */
    --foreground: 0 0% 98%; /* 高对比度文字 */
    --card: 0 0% 3.9%;
    --card-foreground: 0 0% 98%;
    --popover: 0 0% 3.9%;
    --popover-foreground: 0 0% 98%;
    --primary: 0 0% 98%;
    --primary-foreground: 0 0% 9%;
    --secondary: 0 0% 14.9%;
    --secondary-foreground: 0 0% 98%;
    --muted: 0 0% 14.9%;
    --muted-foreground: 0 0% 63.9%;
    --accent: 0 0% 14.9%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 98%;
    --border: 0 0% 14.9%;
    --input: 0 0% 14.9%;
    --ring: 0 0% 83.1%;
    --chart-1: 220 70% 50%;
    --chart-2: 160 60% 45%;
    --chart-3: 30 80% 55%;
    --chart-4: 280 65% 60%;
    --chart-5: 340 75% 55%;
  }

  * {
    @apply border-border;
  }

  body {
    @apply bg-background text-foreground;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    margin: 0;
    min-height: 100vh;
    /* 平滑滚动 */
    scroll-behavior: smooth;
    /* 优化滚动性能 */
    overflow-x: hidden;
  }

  /* 使用组件库默认背景 */

  /* 保留移动端安全区域支持 */
  .safe-area-pb {
    padding-bottom: env(safe-area-inset-bottom);
  }

  .safe-area-pt {
    padding-top: env(safe-area-inset-top);
  }

/* View Transitions API 支持 - Magic UI 标准 */
::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
}

/* 移除自定义过渡样式，使用组件库默认 */
  .theme {
    --animate-aurora: aurora 8s ease-in-out infinite alternate;
  }
}

@layer components {
  /* 移除自定义组件样式，使用组件库默认 */

  /* 全局滚动条美化样式 */
  * {
    /* Firefox */
    scrollbar-width: thin;
    scrollbar-color: hsl(var(--primary) / 0.6) transparent;
  }

  /* Webkit browsers (Chrome, Safari, Edge) */
  *::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }

  *::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 4px;
  }

  *::-webkit-scrollbar-thumb {
    background: linear-gradient(
      135deg,
      hsl(var(--primary) / 0.6),
      hsl(var(--primary) / 0.8)
    );
    border-radius: 4px;
    border: 1px solid hsl(var(--background));
    box-shadow: inset 0 1px 0 hsl(var(--primary) / 0.2);
    transition: all 0.2s ease;
  }

  *::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(
      135deg,
      hsl(var(--primary) / 0.8),
      hsl(var(--primary))
    );
    box-shadow: 
      inset 0 1px 0 hsl(var(--primary) / 0.3),
      0 2px 4px hsl(var(--primary) / 0.2);
    transform: scale(1.1);
  }

  *::-webkit-scrollbar-thumb:active {
    background: linear-gradient(
      135deg,
      hsl(var(--primary)),
      hsl(var(--primary) / 0.9)
    );
  }

  /* 滚动条角落 */
  *::-webkit-scrollbar-corner {
    background: transparent;
  }

  /* 专用的自定义滚动条类 - 用于特殊组件 */
  .custom-scrollbar {
    scrollbar-width: thin;
    scrollbar-color: hsl(var(--accent-foreground) / 0.4) hsl(var(--accent) / 0.2);
  }

  .custom-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px;
  }

  .custom-scrollbar::-webkit-scrollbar-track {
    background: hsl(var(--accent) / 0.1);
    border-radius: 3px;
  }

  .custom-scrollbar::-webkit-scrollbar-thumb {
    background: linear-gradient(
      to bottom,
      hsl(var(--accent-foreground) / 0.4),
      hsl(var(--accent-foreground) / 0.6)
    );
    border-radius: 3px;
    transition: all 0.2s ease;
  }

  .custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(
      to bottom,
      hsl(var(--accent-foreground) / 0.6),
      hsl(var(--accent-foreground) / 0.8)
    );
  }
}

@layer utilities {
  /* 保留必要的工具类 */

  /* 滚动条动画工具类 */
  .scrollbar-glow {
    scrollbar-color: hsl(var(--primary)) hsl(var(--primary) / 0.1);
  }

  .scrollbar-glow::-webkit-scrollbar-thumb {
    background: linear-gradient(
      135deg,
      hsl(var(--primary)),
      hsl(var(--primary) / 0.8)
    );
    box-shadow: 
      0 0 8px hsl(var(--primary) / 0.4),
      inset 0 1px 0 hsl(var(--primary) / 0.3);
  }

  .scrollbar-glow::-webkit-scrollbar-thumb:hover {
    box-shadow: 
      0 0 12px hsl(var(--primary) / 0.6),
      inset 0 1px 0 hsl(var(--primary) / 0.4);
  }

  /* 隐藏滚动条但保留滚动功能 */
  .scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .scrollbar-hide::-webkit-scrollbar {
    display: none;
  }

  /* 细滚动条 */
  .scrollbar-thin {
    scrollbar-width: thin;
    scrollbar-color: hsl(var(--border)) transparent;
  }

  .scrollbar-thin::-webkit-scrollbar {
    width: 4px;
    height: 4px;
  }

  .scrollbar-thin::-webkit-scrollbar-thumb {
    background: hsl(var(--border));
    border-radius: 2px;
  }

  .scrollbar-thin::-webkit-scrollbar-thumb:hover {
    background: hsl(var(--muted-foreground));
  }

  /* 文本截断工具类 */
  .line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }

  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  /* Radial gradient utility */
  .bg-gradient-radial {
    background: radial-gradient(circle, var(--tw-gradient-stops));
  }
}

/* 动画关键帧 */

/* 可访问性改进 */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* 高对比度模式支持 */
@media (prefers-contrast: high) {
  .card {
    @apply border-2 border-foreground/50;
  }

  .btn-gradient {
    @apply bg-foreground text-background;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
  }
}

/* Additional animations */
@keyframes shine {
  0% {
    background-position: 0% 0%;
  }
  50% {
    background-position: 100% 100%;
  }
  to {
    background-position: 0% 0%;
  }
}

/* 粒子飘移动画 */
@keyframes drift {
  from {
    transform: translateX(-50px);
  }
  to {
    transform: translateX(50px);
  }
}


/* 移除重复的view transition样式 */

@theme inline {
  @keyframes aurora {
  0% {
    background-position: 0% 50%;
    transform: rotate(-5deg) scale(0.9);
    }
  25% {
    background-position: 50% 100%;
    transform: rotate(5deg) scale(1.1);
    }
  50% {
    background-position: 100% 50%;
    transform: rotate(-3deg) scale(0.95);
    }
  75% {
    background-position: 50% 0%;
    transform: rotate(3deg) scale(1.05);
    }
  100% {
    background-position: 0% 50%;
    transform: rotate(-5deg) scale(0.9);
    }
  }
}